<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Title</title>
</head>
<body>

</body>
<script>
	// * 基本编码流程
	// {
	// 	const p = new Promise(function(resolve,reject){
	// 		setTimeout(()=>{
	// 			resolve(1);
	// 		},2000)
	// 	});
	// 	p.then(value=>{
	// 		console.log("成功回调",value)
	// 	})
	// }
	
	
	// * 使用promise封装基于定时器的异步
	// {
	// 	function getRandom(min,max){
	// 		return Math.floor(Math.random()*(max-min+1)+min);
	// 	}
	// 	function fn(){
	// 		return new Promise(function(resolve, reject){
	// 			setTimeout(function(){
	// 				const num = getRandom(1,200);
	// 				if(num % 2 === 1){
	// 					reject("奇数"+num);
	// 				}else{
	// 					resolve("偶数"+num);
	// 				}
	// 			})
	// 		})
	// 	}
	// 	fn().then(value=>{
	// 		console.log("成功",value);
	// 	},reason=>{
	// 		console.log("失败",reason)
	// 	});
	// }
	
	
	
	
	// * 使用promise封装`ajax`异步请求
	
	// 回调函数
	// function ajax({method,url,success}){
	// 	const xhr = new XMLHttpRequest();
	// 	xhr.open(method,url);
	// 	xhr.send();
	// 	xhr.onload = function(){
	// 		success(xhr.response)
	// 	}
	// }
	// ajax({
	// 	method:"get",
	// 	url:"./1-错误处理.html",
	// 	success(res){
	// 		console.log(res);
	// 	}
	// })
	
	// Promise
	function ajax({method="get",url}){
		return new Promise(function(resolve){
			const xhr = new XMLHttpRequest();
			xhr.open(method,url);
			xhr.send();
			xhr.onload = function(){
				resolve(xhr.response)
			}
		})
		
	}
	ajax({
		method:"get",
		url:"./1-错误处理.html"
	}).then(res=>{
		console.log(res);
	})
	
	ajax({
		url:"./2-回调函数.html"
	}).then(res=>{
		alert(res)
	})
</script>
</html>